﻿//**************************************************************************//
// Copyright (C) Abdul Rasheed. All rights Reserved.                        //
// rasheedat.blogspot.com                                                   //
//**************************************************************************//
//**************************************************************************//
// Copyright (C) Abdul Rasheed. All rights Reserved.                        //
// rasheedat.blogspot.com                                                   //
//**************************************************************************//
using System;

using System.Collections.Generic;
using System.Text;

namespace PPHR.Common
{
    /// <summary>
    /// Data class to handle visit details
    /// </summary>
    [System.Serializable]
    public class VisitData
    {
        string patientID = string.Empty;
        int visitNumber;
        DateTime visitDate;
        string visitType = string.Empty;
        string consultantName = string.Empty;
        string facilityName = string.Empty;
        string visitDetail = string.Empty;
        List<Prescription> prescription = new List<Prescription>();
        List<DoctorVoice> drVoice = new List<DoctorVoice>();
        List<AdditionalInfo> additionalInfo = new List<AdditionalInfo>();

        /// <summary>
        /// Patient id
        /// </summary>
        public string PatientID
        {
            get { return patientID; }
            set { patientID = value; }
        }

        /// <summary>
        /// Visit Number
        /// </summary>
        public int VisitNumber
        {
            get { return visitNumber; }
            set { visitNumber = value; }
        }

        /// <summary>
        /// Visit Date
        /// </summary>
        public DateTime VisitDate
        {
            get { return visitDate; }
            set { visitDate = value; }
        }

        /// <summary>
        /// Visit type
        /// </summary>
        public string VisitType
        {
            get { return visitType; }
            set { visitType = value; }
        }

        /// <summary>
        /// Consultant or doctor name
        /// </summary>
        public string ConsultantName
        {
            get { return consultantName; }
            set { consultantName = value; }
        }

        /// <summary>
        /// Hospital or clinic name
        /// </summary>
        public string FacilityName
        {
            get { return facilityName; }
            set { facilityName = value; }
        }

        /// <summary>
        /// Detail of visit
        /// </summary>
        public string VisitDetail
        {
            get { return visitDetail; }
            set { visitDetail = value; }
        }

        /// <summary>
        /// Prescription detail
        /// </summary>
        public List<Prescription> Prescription
        {
            get { return prescription; }
            set { prescription = value; }
        }

        /// <summary>
        /// Doctor's dictation
        /// </summary>
        public List<DoctorVoice> DrVoice
        {
            get { return drVoice; }
            set { drVoice = value; }
        }

        /// <summary>
        /// Any Additional information 
        /// </summary>
        public List<AdditionalInfo> AdditionalInfo
        {
            get { return additionalInfo; }
            set { additionalInfo = value; }
        }
    }

    [System.Serializable]
    public class Prescription
    {   
        private string prescriptionDocument;
        private string note;
        private int documentID;

        public string PrescriptionDocument
        {
            get { return prescriptionDocument; }
            set { prescriptionDocument = value; }
        }
        public string Note
        {
            get { return note; }
            set { note = value; }
        }
        public int DocumentID
        {
            get { return documentID; }
            set { documentID = value; }
        }
    }

    [System.Serializable]
    public class DoctorVoice
    {
        private string doctorVoiceComment;
        private string note;
        private int documentID;

        public string DoctorVoiceComment
        {
            get { return doctorVoiceComment; }
            set { doctorVoiceComment = value; }
        }
        public string Note
        {
            get { return note; }
            set { note = value; }
        }
        public int DocumentID
        {
            get { return documentID; }
            set { documentID = value; }
        }
    }

    [System.Serializable]
    public class AdditionalInfo
    {
        private string additionalInformationDocument;
        private string note;
        private int documentID;

        public string AdditionalInformationDocument
        {
            get { return additionalInformationDocument; }
            set { additionalInformationDocument = value; }
        }
        public string Note
        {
            get { return note; }
            set { note = value; }
        }
        public int DocumentID
        {
            get { return documentID; }
            set { documentID = value; }
        }
    }
}
